/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Controladores;

import BaseDatos.GestorEmpleadosBD;
import Modelo.Empleado;
import java.util.ArrayList;
import java.util.StringTokenizer;

/**
 *
 * @author Administrador
 */
public class GestorEmpleados {

////////////////////////////////////////////////////////////////////////////////
// Constructores
////////////////////////////////////////////////////////////////////////////////
    
    public GestorEmpleados(){

    }

////////////////////////////////////////////////////////////////////////////////
// Interfaz de la clase
////////////////////////////////////////////////////////////////////////////////
    
    /**
     * solicita el registro de un empleado en el sistema de salidas
     * @param _empleado 
     */
    public void registrar(Empleado _empleado){
        GestorEmpleadosBD administradorEmpleadosBD = new GestorEmpleadosBD();
        administradorEmpleadosBD.registrar(_empleado);
    }
    
    /**
     * solicita la busqueda de todos los empleados que coincidan con el nombre o 
     * la clave de empleado ingresada
     * @param _claveNombre
     * @return devuelve la lista de empleados encontrados
     */
    public ArrayList<Empleado> buscarEmpleados(String _claveNombre) {
        GestorEmpleadosBD administradorEmpleadosBD = new GestorEmpleadosBD();
        return administradorEmpleadosBD.busquedaGeneral(_claveNombre);
    }
    
    /**
     * Solicita la busqueda de un unico empleado que coincida con el nombre o la clave
     * ingresada
     * @param _claveNombre
     * @return devuelve el empleado encontrado
     */
    public Empleado buscarEmpleado(String _claveNombre){
        GestorEmpleadosBD administradorEmpleadosBD = new GestorEmpleadosBD();
        try{
            Integer.parseInt(_claveNombre);
            return administradorEmpleadosBD.buscarEmpleadoClave(_claveNombre);
        }catch (NumberFormatException log){
            StringTokenizer tokens=new StringTokenizer(_claveNombre);
            ArrayList<String> nombreCompleto = new ArrayList<>();
            while(tokens.hasMoreTokens()){
                nombreCompleto.add(tokens.nextToken());
            }
            return administradorEmpleadosBD.buscarEmpleadoNombre(nombreCompleto);
        }
    }
    
////////////////////////////////////////////////////////////////////////////////
// Metodos privados
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Declaracion de variables
////////////////////////////////////////////////////////////////////////////////
    
}
